import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';

import { DragDropModule } from '@angular/cdk/drag-drop';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ConfirmationService, MessageService } from 'primeng/api';
import { ButtonModule } from 'primeng/button';
import { CardModule } from "primeng/card";
import { ConfirmDialogModule } from 'primeng/confirmdialog';
import { DialogModule } from 'primeng/dialog';
import { DropdownModule } from 'primeng/dropdown';
import { InputNumberModule } from 'primeng/inputnumber';
import { InputTextModule } from 'primeng/inputtext';
import { SidebarModule } from "primeng/sidebar";
import { SplitButtonModule } from 'primeng/splitbutton';
import { TableModule } from 'primeng/table';
import { TabViewModule } from "primeng/tabview";
import { ToastModule } from 'primeng/toast';
import { ToolbarModule } from 'primeng/toolbar';
import { LogsComponent } from './logs/logs.component';
// import { ControlLibComponent } from './scenario-design/control-lib/control-lib.component';
// import { DataFieldSettingDialogComponent } from './scenario-design/data-field-setting-dialog/data-field-setting-dialog.component';
// import { FieldListComponent } from './scenario-design/field-list/field-list.component';
// import { PiplineSettingComponent } from './scenario-design/pipline-setting/pipline-setting.component';
// import { ScenarioDesignComponent } from './scenario-design/scenario-design.component';
// import { ScenarioSettingComponent } from './scenario-design/scenario-setting/scenario-setting.component';
// import { SiteSettingComponent } from './scenario-design/site-setting/site-setting.component';
// import { SrmSettingComponent } from './scenario-design/srm-setting/srm-setting.component';
import { ScenarioLayoutComponent } from './scenario-layout/scenario-layout.component';
import { ScenarioListComponent } from './scenario-list/scenario-list.component';
import { PiplineSidebarComponent } from './scenario-monitor/pipline-sidebar/pipline-sidebar.component';
import { PlcSidebarComponent } from './scenario-monitor/plc-sidebar/plc-sidebar.component';
import { ScenarioMonitorComponent } from './scenario-monitor/scenario-monitor.component';
import { ScenarioTaskComponent } from './scenario-monitor/scenario-task/scenario-task.component';
import { SiteSidebarComponent } from './scenario-monitor/site-sidebar/site-sidebar.component';
import { SrmSidebarComponent } from './scenario-monitor/srm-sidebar/srm-sidebar.component';
import { ScenariosRoutingModule } from './scenarios-routing.module';
import { GraphConfigService } from './services/graph-config.service';
import { ScenarioMetaService } from './services/scenario-meta.service';
import { ScenarioUtilService } from './services/scenario-util.service';
import { ScenarioService } from './services/scenario.service';
import { MonitorFieldListComponent } from './scenario-monitor/monitor-field-list/monitor-field-list.component';
import { ScenarioDesignModule } from './scenario-design/scenario-design.module';
@NgModule({
  declarations: [
    LogsComponent,
    // ScenarioDesignComponent,
    // ScenarioSettingComponent,
    // PiplineSettingComponent,
    // SiteSettingComponent,
    // SrmSettingComponent,
    // ControlLibComponent,
    // FieldListComponent,
    // DataFieldSettingDialogComponent,
    ScenarioListComponent,
    ScenarioMonitorComponent,

    PlcSidebarComponent,
    PiplineSidebarComponent,
    SiteSidebarComponent,
    SrmSidebarComponent,
    ScenarioLayoutComponent,
    ScenarioTaskComponent,
    // SiteSetingDialogComponent,
    MonitorFieldListComponent
  ],
  imports: [
    CommonModule,
    ScenariosRoutingModule,
    ButtonModule,
    TableModule,
    FormsModule,
    ReactiveFormsModule,
    ConfirmDialogModule,
    ToastModule,
    ToolbarModule,
    SplitButtonModule,
    InputTextModule,
    InputNumberModule,
    CardModule,
    TabViewModule,
    SidebarModule,
    InputTextModule,
    DropdownModule,
    DialogModule,
    DragDropModule,

    ScenarioDesignModule,
  ],
  providers: [
    ScenarioService,
    ConfirmationService,
    MessageService,
    GraphConfigService,
    ScenarioMetaService,
    ScenarioUtilService,
  ]
})
export class ScenariosModule { }
